package cn.lanca.gof16_20._18observer.jdkcase1;

import java.util.Observable;

/**
 * 张三 欠款方
 *
 * @author hongliang.mei
 * @since 2020/12/28 00:08
 */
public class Zhangsan extends Observable {
    public String getName() {
        return "zhangsan";
    }

    public void addObserver(ObserverWithName o) {
        System.out.printf("向%s借钱%n", o.getName());
        super.addObserver(o);
    }

    public boolean hasMoney() {
        return super.hasChanged();
    }

    /**
     * 设置我有钱了
     */
    public void setHasMoney() {
        super.setChanged();
    }

    /**
     * 通知换钱方法
     */
    public void giveMoney() {
        super.notifyObservers();
    }
}
